Pristupova prava a TMenu

Otázka od: Pavel Hauptman

6. 4. 2004 13:26

Ahoj,

chci do sve aplikace dodelat proceduru pro pristup k jednotlivym polozkam
MainMenu na zaklade pristupovych prav uzivatele. Momentalne to mam vyreseno
pomoci TAGu. Projedu vsechny componenty typu TMenuItem a pokud vlastnost TAG
odpovida definici pristupoveho prava, nastavim property ENABLED := TRUE.

Tak, ale tento postup vyzaduje, abych mel vyjmenovana prava i tech polozek,
ktere jsou vlastniky cilove polozky. To ja ale nechci. Chci zadat pouze
pravo k vnorene polezce a procedura mi automaticky povoli i jeji predky. Asi
na to bude potreba pouzit rekurzivni hledani, ale vubec nevim jak.

Poradite?

Zde je kousek kodu:

  for i := 0 to ComponentCount - 1 do
    begin
      if Components[i] is TMenuItem then
        begin
          if tag.Find(IntToStr(Components[i].Tag), Index) then
            begin
              TMenuItem(Components[i]).Enabled := true;
              if TMenuItem(Components[i]).HasParent do
                begin
                    ... tady by mela byt ta rekurze ...
                end;
            end;
        end;
    end;

Diky a s pozdravem

Pavel Hauptman.